package com.bodu.system.template.filetemplate;

import com.bodu.system.entity.po.CodeGenConfigPo;
import com.bodu.system.entity.po.CodeGenPo;
import freemarker.template.TemplateException;

import java.io.IOException;

/**
 * @author Administrator
 */
public interface CommonTemplate {

    /**
     * 生成模板
     *
     * @param codeGenPo 生成代码数据
     * @param configPo  生成代码配置
     * @throws IOException       IO异常
     * @throws TemplateException 模板异常
     */
    void createTemplate(CodeGenPo codeGenPo, CodeGenConfigPo configPo) throws IOException, TemplateException;

    /**
     * 得到模板名称
     *
     * @return
     * @throws IOException
     */
    String getTemplateName() throws IOException;

    /**
     * 得到生成的文件路径
     *
     * @param configPo
     * @return 生成的模板路径
     * @throws IOException
     */
    String getFilePath(CodeGenConfigPo configPo) throws IOException;

}
